Paradigma | funkcionální programování |
---|---|
Vznik | 1975 |
Autor | Guy L. Steele a Gerald Jay Sussman |
Typová kontrola | silné, dynamické |
Hlavní implementace | PLT Scheme, MIT/GNU Scheme, Scheme 48, Chicken, Gambit, FLUENT, Guile, Bigloo, Chez Scheme, STk, STklos, Larceny, SCM |
Dialekty | T |
Ovlivněn jazyky | Lisp, ALGOL |
Ovlivnil jazyky | Common Lisp, JavaScript, Ruby |
Scheme je multiparadigmatický programovací jazyk. Funkcionální programovací paradigma patří mezi tzv. funkcionální paradigmata. Scheme je jeden ze dvou hlavních dialektů funkcionálního programovacího jazyka Lisp. Jazyk navrhli Guy Lewis Steele a Gerald Jay Sussman a jeho první popis byl sepsán v roce 1975. Scheme byl představen akademickému světu skrze sérii článků, nyní známých jako Sussmanovy a Steelovy Lambda Papers.[1] Jazyk Scheme definují dva standardy: oficiální IEEE standard a standard nazývaný Revisedn Report on the Algorithmic Language Scheme, ve zkratce RnRS, kde n je číslo revize. Současný standard je R5RS[2], a R6RS[3] je ve vývoji.
Oproti Lispu se Scheme snaží o minimalismus – poskytovat co nejmenší počet základních funkcí, na nichž jsou pak v knihovnách postaveny složitější konstrukce. Díky tomu má dosud poslední reference jazyka jen 50 stran.
Scheme byl prvním dialektem Lispu, který nabízel volbu mezi lexikálním nebo dynamickým rozsahem platnosti proměnné. Také byl jedním z programovacích jazyků, který podporoval „first-class continuation“.
Tento jazyk je v praxi používaný jen zřídka, používá se především ve školách pro výuku programování algoritmů. Nejznámější implementací je grafický editor GIMP, jehož dodatečné zásuvné moduly a skripty jsou psány v dialektu jazyka Scheme.